package com.woniuxy.book.service;

import com.woniuxy.book.entity.PageInfo;
import com.woniuxy.book.param.bookinfo.AddBookInfoParam;
import com.woniuxy.book.param.bookinfo.SearchBookInfosParam;
import com.woniuxy.book.param.bookinfo.UpdateBookImageParam;
import com.woniuxy.book.param.bookinfo.UpdateBookInfoParam;
import com.woniuxy.book.service.dto.BookInfoDTO;

import java.io.IOException;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author li
 * @since 2024年2月09日
 */
public interface BookInfoService{

    void addBookInfo(AddBookInfoParam param);

    void updateBookImage(UpdateBookImageParam param) throws IOException;

    PageInfo searchBookInfos(SearchBookInfosParam param);

    void updateBookInfo(UpdateBookInfoParam param);

    void updateBookState(Integer bookId, Integer bookState);

    void deleteBookInfo(Integer bookId);

    void undeleteBookInfo(Integer bookId);

    void delBookInfoBySelect(String[] bookIdsArray);

    void undelBySelect(String[] bookIdsArray);

    void disableBySelect(String[] bookIdsArray);

    void enableBySelect(String[] bookIdsArray);

    PageInfo selectBookInfos(SearchBookInfosParam toBean, String token) throws Exception;

    BookInfoDTO findBookInfoById(Integer bookId, String token);
}
